package com.ruoyi.system.service;

import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.domain.SysAttendance;
import jakarta.servlet.http.HttpServletResponse;

/**
 * 打卡记录Service接口
 *
 * @author ruoyi
 * @date 2025-09-24
 */
public interface ISysAttendanceService
{
    /**
     * 查询打卡记录
     *
     * @param attendanceId 打卡记录主键
     * @return 打卡记录
     */
    public SysAttendance selectSysAttendanceByAttendanceId(Long attendanceId);

    /**
     * 查询打卡记录列表
     *
     * @param sysAttendance 打卡记录
     * @return 打卡记录集合
     */
    public List<SysAttendance> selectSysAttendanceList(SysAttendance sysAttendance);

    /**
     * 新增打卡记录
     *
     * @param sysAttendance 打卡记录
     * @return 结果
     */
    public AjaxResult insertSysAttendance(SysAttendance sysAttendance);

    /**
     * 修改打卡记录
     *
     * @param sysAttendance 打卡记录
     * @return 结果
     */
    public int updateSysAttendance(SysAttendance sysAttendance);

    /**
     * 批量删除打卡记录
     *
     * @param attendanceIds 需要删除的打卡记录主键集合
     * @return 结果
     */
    public int deleteSysAttendanceByAttendanceIds(Long[] attendanceIds);

    /**
     * 删除打卡记录信息
     *
     * @param attendanceId 打卡记录主键
     * @return 结果
     */
    public int deleteSysAttendanceByAttendanceId(Long attendanceId);

    AjaxResult checkSwitch();

    AjaxResult showRecord(SysAttendance sysAttendance);

    void expertTable(HttpServletResponse response, SysAttendance sysAttendance);
}
